
# 1. 路由route（url）：route 决定了 url页面资源 的终结点（endpoint），如果没有登记，将返回404 not found
#   1.1 route 还有一个重要的参数信息 叫做 options：决定了 request 和 response 的 method 方法【"GET","POST",etc.】,默认为 GET
#   1.2 url: 相对于：127.0.0.1：5000的相对路径
#   1.3 methods: [GET] [POST]
# 2. 视图函数：用来处理用户的 request，并且返回（return）页面数据
#   2.1 函数过程决定了你操作的方法（实现的功能），例如 if elif else for while...
#   2.2 return：返回数据内容，text文本，HTML文件（模板渲染），JSON文件等

from flask import Flask,request
from flask import render_template
# 调用自定义模块中的函数
from reserch4 import reserch4letters

# Flask: 中央登记中心
app = Flask(__name__)

# 【Flask】(https://dormousehole.readthedocs.io/en/latest/)
# 【HTML】(https://www.w3school.com.cn/html/index.asp )
# 【Jinja2】(https://jinja.palletsprojects.com/en/3.0.x/)

# [GET]
@app.route('/',methods=['GET'])
def dl():  # put application's code here
    # return '<h1>Hello world!</h1>'
    return render_template('dl.html')

@app.route('/hello',methods=['GET','POST'])
def hello_world():  # put application's code here
    # return '<h1>Hello world!</h1>'
    return render_template('hello.html')

@app.route('/index',methods=['GET'])
def index():
    return render_template('index.html')

@app.route('/cptj',methods=['GET'])
def cptj():
    return render_template('cptj.html')
# [POST] 实现用户输入,点击提交，将数据提交到 /result
@app.route('/result',methods=['POST'])

def result():
    # 接收数据：request.form[HTML
    # -参数名称]
    # 1. 名字的全称（完整的应用）：用户输入数据 ---> 后端接收数据 ---> 处理数据 ---> 返回到HTML页面
    # 2. 元音字母查询（第二个功能）
    # 3. 自选：购物车 或者 课程表
    py_firstname = request.form['firstname']
    py_lastname = request.form['lastname']
    py_fullname = py_firstname.title()+' '+py_lastname.title()

    return render_template('result.html',
                           fullname = py_fullname)

@app.route('/result2',methods=['POST'])

def result2():
    # 接收数据：request.form[HTML
    # -参数名称]
    # 1. 名字的全称（完整的应用）：用户输入数据 ---> 后端接收数据 ---> 处理数据 ---> 返回到HTML页面
    # 2. 元音字母查询（第二个功能）
    # 3. 自选：购物车 或者 课程表

    # 在中央登记中心，写那么多 python过程的代码 是不是不好玩？
    # 使用模块来写函数过程，在视图函数中调用模块实现函数方法
    py_word = request.form['word']
    py_vowels = request.form['vowels']
    py_found = reserch4letters(py_vowels,py_word)

    return render_template('result2.html',
                           found = py_found)

@app.route('/jsq',methods=['GET'])
def jsq():
    return render_template('jsq.html')

@app.route('/yy',methods=['GET'])
def yy():
    return render_template('yy.html')

@app.route('/gwcc',methods=['GET'])
def gwcc():
    return render_template('gwcc.html')

@app.route('/wzsjm',methods=['GET'])
def wzsjm():
    return render_template('wzsjm.html')

if __name__ == '__main__':
    app.run(debug=True)


